home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / graphvew / dta21pb.arj / WHATSNEW.DTA < prev   
Text File  |  1994-01-17  |  44KB  |  869 lines

  1. What's new in DTA:
  2.  
  3.  Rel 2.1.0 (??/??/??)
  4.  
  5.   (
  6.   I'm making some pretty substantial changes to the way DTA
  7.   works, right now.  Some things are probably still broken,
  8.   though I'm pretty sure that most reading and writing
  9.   routines finally work the way they're supposed to again.
  10.  
  11.   Some things that I'm sure are still broken are:
  12.    o I haven't finished updating the documentation file,
  13.      so this file will have to do.
  14.    o There's a bug in flic-reading... sometimes there's an
  15.      erroneous extra line of pixels at the bottom of the
  16.      picture.
  17.    o DTA still doesn't read 16-color .PCX files.
  18.   )
  19.  
  20.   Changes:
  21.   o Rewrote a lot of the internal picture-file handling code.
  22.     All pictures are now read into memory buffers, and all
  23.     operations are performed on the memory buffers in
  24.     sequence.  (Formerly, DTA read most pictures
  25.     in a line at a time, and did all the operations on
  26.     each line of pixels... it kept lots of picture files
  27.     open simultaneously )
  28.     The side effects of these changes are:
  29.      (1) Basic operations use more memory.
  30.      (2) Real complicated operations (averaging, compositing,
  31.          etc.) use less memory.
  32.      (3) Most everything works at least a little bit faster,
  33.          and some operations are a lot faster.
  34.      (4) There's no longer any limit on the number of pictures
  35.          that you can average.  (DTA used to fail if you
  36.          tried averaging more than 10 or 12 pictures.)
  37.      (5) I was able to reshuffle the order of operations.
  38.          Now, the order is: chroma-key, averaging, clipping,
  39.          scaling, post-scale clipping, rotation, compositing.
  40.          (Now that I've gotten this far, I've realized that
  41.          this still stinks... what's really needed is a
  42.          user-defined order.)
  43.      (6) Made it possible to add arbitrary rotations.
  44.      (7) Processing a frame takes more steps, so the "percent
  45.          finished" information isn't as useful as it used
  46.          to be.
  47.   o When building 8-bit flics, DTA used to always use the
  48.     320x200 resolution some another resolution was selected
  49.     using the /R switch.  The reason for that was that 320x200
  50.     is the only supported resolution for the original Autodesk
  51.     Animator .FLI format.
  52.       From now on, it'll use the actual resolution from the
  53.     first input picture file, like the now-obsolute /RA
  54.     switch used to do.
  55.       So unless your input pictures are already 320x200, you'll
  56.     get .FLC files instead of .FLI files.  You can make DTA
  57.     create a .FLI file even with other resolution input by
  58.     specifying /R1 or /R320,200.
  59.       You'll also need to use /R if you want to create
  60.     larger images for compositing...
  61.   o Reworked grayscale options... now there's /G, /G128, /G64,
  62.     and /G32, /G16, /G8, and /G4.
  63.       /G represents a 256-level grayscale except when the output
  64.     format is a 320x200 .FLI file, when it represents a 64-level
  65.     grayscale.  That's because .FLI won't support higher than
  66.     64 shades.
  67.       /G128 represents a 128-level grayscale, /G64 a 64-level
  68.     grayscale, etc.
  69.     The lower numbers will get you a lower-quality image, which
  70.     will almost always compress better.
  71.       Most VGA and SVGA monitors can only display 64 shades
  72.     of gray, so it's wasteful to use more than that if your
  73.     picture will only be displayed on a monitor.
  74.     Some laptop VGA displays can only display 32 shades.
  75.       If you're going to be printing your image or using it
  76.     as a bump map or height field with a rendering program,
  77.     then the more shades the better.
  78.   o Renamed /CH (chroma-key) to /CK so that /CH would be free
  79.     for a new option.
  80.   o Got rid of /3D... I pulled it out to make some of the
  81.     rewrite easier.  You can now get a similar 3d effect
  82.     using /CHR and /CHB (see below).
  83.   o Added /BU, which makes DTA save .TGA files bottom-up
  84.     (or upside-down, if you prefer) instead of top-down.
  85.     ... some applications don't understand top-down .TGAs.
  86.   o Added /CH[R,G,B,A] which stand for CHannel insertion,
  87.     which should let you create some truly weird effects
  88.     if you're so inclined.
  89.     (This is a pretty hard concept to explain, so bear with me...
  90.     and remember that you don't have to use it, just like you
  91.     don't have to use /L...  DTA still understands simple
  92.     command lines like "dta *.tga".)
  93.       You can specify /CHR (red channel), /CHG (green channel),
  94.     /CHB (blue channel), and /CHA (alpha channel) to cause
  95.     a gray-scale version of an image file to be inserted
  96.     into a specific channel of the current layer.
  97.       You can use this to specify a matte for an image that
  98.     doesn't contain an alpha channel, like this:
  99.         dta background.tga /l pics*.tga /cha masks*.tga
  100.     or to get a red/blue 3d effect (the kind that requires
  101.     funny glasses):
  102.         dta /chr left*.tga /ga0.8 /chb right*.tga
  103.     (the /ga is to adjust the brightness of the red component
  104.      so it doesn't drown out the blues.  Some experimentation
  105.      may be necessary to get the balance just right... if
  106.      somebody comes up with an ideal brightness combination,
  107.      let me know and I'll put it in the doc.)
  108.       /CH works much like /L, except /CH is subordinate to /L.
  109.       /CH merging (insertion) takes place after picture
  110.     averaging, gamma correction, and chroma-keying, but before
  111.     clipping, rotation, scaling, etc.  /L merging (compositing)
  112.     takes place after all of the above.  So, you can have separate
  113.     chroma-key, gamma, averaging settings for each /CH layer,
  114.     but only one /ROT, /LOC, etc. setting in each /L layer
  115.     regardless of how many /CH layers you've got.  And some
  116.     other switches, like /F, /O, /R, etc. can only be specified
  117.     once per command line, no matter how many /L and /CH layers
  118.     you've got.
  119.       Note that if you specify "pics*.tga /cha masks*.tga",
  120.     you're really specifying two /CH levels, not just one.
  121.     The first, without a /CH parameter, contains pics*.tga,
  122.     and there's no special processing of the color channels.
  123.     The second gets converted to a grayscale and is inserted
  124.     into the alpha channel.
  125.       (Thanks to John Jordan for suggesting alpha insertion in
  126.     the first place...)
  127.   o When converting from one file format to another, DTA
  128.     will usually use the original picture's filename, but
  129.     with a new extension (unless you specify a different
  130.     filename with /O).
  131.       But, if you're creating an output picture from multiple
  132.     input layers, or multiple input channels, or averaged
  133.     images, or if input file and output file are in the same
  134.     format, then DTA will invent new output filenames, like
  135.     "OUT00000".
  136.       You can now force DTA to use the original filename
  137.     even in those situations if you use the new /FO (force
  138.     original filename) switch.
  139.       DTA might still not pick the right filename when you're
  140.     using multiple layers, because it'll always use the first
  141.     filename in the first channel group in the first layer.
  142.     If, for example, you're overlaying a signature or log over a
  143.     bunch of input pictures, like this:
  144.       DTA PICS*.TGA /L SIGN.TGA /FG /FO
  145.     it'll be okay because each .GIF file will use the filename
  146.     from the first layer (PICS*.TGA).
  147.     But if you're overlaying a bunch of pictures onto a single
  148.     background, like this:
  149.       DTA BACK.TGA /L PICS*.TGA /FG /FO
  150.     it won't be okay, because each output picture will get saved
  151.     as BACK.GIF.  In that circumstance tell DTA to use the
  152.     filenames from the second layer, like this:
  153.       DTA BACK.TGA /L PICS*.TGA /FG /FO2
  154.     You can also specify a specific channel group, like this:
  155.       DTA /CHR X*.TGA /CHG Y*.TGA /CHB Z*.TGA /FG /FO1,2
  156.     (the 1 means the first layer... you have to specify a
  157.     layer when you're specifying a channel, even if there's
  158.     only one.  The 2 means the second channel group in the
  159.     command, green in this case.)
  160.      You can use /FO to force DTA to replace your original
  161.     files after processing, like this:
  162.       DTA *.GIF /ROT90 /FG /FO
  163.   o Added read/write support for MindImage .RLE files.
  164.     (These are the .RLE files used for the random dot
  165.     stereogram program MindImage... DTA can NOT read any of
  166.     the many other file formats that also use the extention
  167.     .RLE)
  168.       You read one of these files just like you would any other,
  169.     by using the filename in the command line.  For example,
  170.     to convert a RLE to a GIF file, type:
  171.      DTA HUMAN.RLE /FG
  172.       To write a RLE, use the new /FR switch.  Be warned that
  173.     MindImage expects pictures' dimensions to be powers of two
  174.     with a maximum of 512.  So, DTA will always force pictures
  175.     to have horizontal and vertical dimensions of 64, 128,
  176.     256, or 512.  If a dimension is larger than 512, then
  177.     it'll be chopped down to 512.  Otherwise, unless a dimension
  178.     is exactly equal to one of the allowed dimensions, it'll
  179.     be increased to match.  If the dimensions that are selected
  180.     for you are different from the original dimensions, DTA
  181.     will crop or extend the picture.  For example, if you start
  182.     with a 640x480 picture, DTA will chop off a little from the
  183.     left and right to pare the 640 down to 512, and add enough
  184.     black border to the top and bottom to extend the 480 to 512.
  185.     Make DTA rescale the image to the new dimensions with the /SC
  186.     switch.  In the 640x480 example,
  187.      DTA 640.GIF /FR /SC
  188.     will cause the 640x480 image to be rescaled to exactly
  189.     512x512.
  190.      DTA 640.GIF /FR /R128,128
  191.     will result in a 128x128 image chopped from the middle of
  192.     the starting image.  The next two commands:
  193.      DTA 640.GIF /FR /SC128,128
  194.      DTA 640.GIF /FR /R128,128 /SC
  195.     both result in a 128x128 image with the whole rescaled to
  196.     fit exactly.
  197.   o Added read-only support for IFF/ILBM files, 24-bit variety
  198.     only.  Files with extensions of .IFF and .LBM will be
  199.     recognized.
  200.   o Changed the default 16-bit flic format from .FLX to .FLH.
  201.     .FLX is still supported to make life easier for users of
  202.     Mathematica's Tempra Turbo Animator (the program that first
  203.     supported that format).  Just use the /FLX switch to tell
  204.     DTA to use .FLX instead of .FLH.
  205.       The basic (only?) difference between .FLX and .FLH is that
  206.     they compress the first frame differently.  .FLX uses a
  207.     byte-oriented scheme which does not compress 16-bit pictures
  208.     very well.  .FLH uses a word-oriented scheme which works much
  209.     better.
  210.       (My DFV flic player can read either.  Tempra Turbo Animator
  211.     will not be able to read the .FLH files.)
  212.   o Added support for .FLT (24-bit) flics.  Just use the /B24
  213.     switch to tell it to build a .FLT in stead of .FLC.
  214.       At the moment, my DFV player is the only player that can
  215.     can view this variation of the flic format... if anybody out
  216.     there wants some info on the modifications I made to the flic
  217.     format to support 24-bit, let me know.  They're not too
  218.     complicated, and they're not a secret.
  219.   o Because 24-bit flics can get so *huge*, I added some tricks
  220.     for minimizing the size.  First, the /TO (flic tolerance)
  221.     switch, which causes DTA to ignore pixel differences between
  222.     frames when the distance in color-space is less than or
  223.     equal to a value that you supply.
  224.       I know that explanation leaves something to be desired
  225.     ... to understand what's going on, try it out by adding
  226.     "/TO15" at the end of a command line.  The result will
  227.     usually be a smaller flic that plays more quickly and
  228.     doesn't look quite as good.
  229.       This trick works better with digitized video than it does
  230.     with rendered animation.
  231.       Sometimes this gimmick produces a side effect of faint
  232.     trails on the screen when you animate anti-aliased images.
  233.     Try the /TX switch (which isn't really an acronym of anything)
  234.     with a number, for example "/TX5".  In that case, one frame
  235.     in every 5 will be a full difference frame with no
  236.     tolerance, and the trails will disappear.
  237.       /TO and /TX work only with 24-bit flics.  I'll probably
  238.     add it later for 8-bit and 16-bit flics.
  239.   o Added /INV which inverts either whole colors or individual
  240.     color channels.  You can do /INVR, /INVG, /INVB, /INVA,
  241.     or combinations of them.  Specifying just "/INV" is the same
  242.     as specifying "/INVR /INVG /INVB".
  243.     If you use any /INV option with /NM (no remapping of
  244.     mapped files) then color indexes will be inverted
  245.     instead of color components.
  246.   o Added /RED, /GREEN, /BLUE, and /ALPHA switches which
  247.     let you extract a particular channel from an image.
  248.     So, you can:
  249.       DTA PICTURE /RED
  250.     to create a grayscale image from just the red component, or:
  251.       DTA X*.TGA /CHR X*.TGA /BLUE /CHB Y*.TGA /RED
  252.     to first load in each picture as a regular 32-bit image,
  253.     then replace the red channel with the original blue channel
  254.     and then replace the blue channel with the red channel from
  255.     a completely different set of pictures.
  256.     This is fairly useless most of the time, but it should
  257.     make some really wild effect possible.
  258.   o Added /SCF (fast scaling).  Use it like /SC.  It works
  259.     a *lot* faster than /SC, but looks really bad, because
  260.     it doesn't use any interpolation.
  261.   o Added /CLP (post-scale clipping) which works just like /CL
  262.     but it clips the picture after scaling takes place.
  263.     If you type:
  264.      dta x.tga /sc500,500 /cl120,120,100,100 /pcl140,140,150,150
  265.     DTA will read in the picture and clip out a 100x100 window
  266.     from the picture (at coordinates 120,120), then rescale
  267.     the clipped window to 500x500, and then clip out a 150x150
  268.     window from the scaled picture (at coordinates 140,140).
  269.   o Fixed a bug: DTA would ignore /332 and /G palette options
  270.     if you were outputting to a GIF file.
  271.   o Got rid of /ST (start) parameter, replaced it with
  272.     /LOC.  Syntax is now /LOC#,#,# (default=0,0,0).
  273.     The first two numbers are the x,y coords on the screen
  274.     (from the center) where the center of the image should
  275.     go.... Unless you specify /LL (which tells DTA to base the
  276.     location on the left edge of the screen and image), /LR
  277.     (right edge), /LT (top edge), or /LB (bottom edge).
  278.     The third number is a time variable, specified as a
  279.     percentage.
  280.       If you specify /LOC0,0,0 that means put the image at
  281.     0,0 at the beginning of the animation.  Add /LOC25,25,50
  282.     and the image will be put at coords 25,25 at exactly halfway
  283.     through the animation. If you don't specify a #,#,100,
  284.     then DTA will assume you want the final location to loop
  285.     back to the starting point.  You can enter as many or
  286.     few /LOC parameters per layer as you want...
  287.     DTA will use an interpolating spline to figure out the
  288.     actual locations per frame.
  289.       Unlike the old /ST, pictures can be placed at non-integer
  290.     locations.  If you do, your picture will be resampled.
  291.   o Added arbitrary rotation.  So you can specify /rot45
  292.     (or /rot110.25 for that matter).
  293.     You can add time values after multiple /ROT switches
  294.     just like you can after /LOC.
  295.       To get a full rotation, you could do "/ROT0,0 /ROT360,100".
  296.     If rot[100%]-rot[0] is a multiple of 360, then the final
  297.     rotation value will not be used ... this helps produce
  298.     a smooth loop.
  299.       Rotation uses smooth resampling.
  300.   o Input pictures that are larger than the output picture
  301.     are now centered... instead of only the top corner
  302.     showing, the center will show.
  303.   o Added read-only support for Type-1 TGA files (8-bit,
  304.     colormapped).
  305.   o Added /CC (chroma-key color), which allows you to specify
  306.     what color DTA should replace matching pixels with.  The
  307.     default is still 0,0,0,0 (black, fully transparent).
  308.   o Averaging and scaling now handle 32-bit pixels correctly
  309.     ... previously they didn't take the alpha byte into
  310.     account properly.  As a result, colors (in areas where
  311.     alpha-blending was taking place) would sometimes come
  312.     out too dark or too light.
  313.     As a result, these two functions are slower than they
  314.     used to be... but I think the other speedups will cancel
  315.     it out.
  316.   o Made DTA write 8- and 24-bit PCX files (it did a couple years
  317.     ago, but only 8-bit and then I pulled it out to save
  318.     room.  Now that DTA's protected mode, there's no reason
  319.     not to support this output format).
  320.   o Made DTA read and write Vistapro .VAN animation files.
  321.   o DTA can now write as well as read BMP files, with
  322.     /FB switch.  /FD switch creates the same type of file,
  323.     but uses the .DIB extension instead of .BMP
  324.     By default, it creates 24-bit BMPs, but you can
  325.     make it create 8-bit BMPs by adding the /B8 switch.
  326.   o Fixed a bug in flic-reading... if a flic contained
  327.     a partial palette (fairly rare), DTA would get confused
  328.     and crash.
  329.  Rel 2.0.8 (10/22/93)
  330.   o Added 90 degree increment rotation... use "/ROT90", "/ROT180",
  331.     "/ROT-90", "/ROT270" etc.
  332.     Note: this is the order that operations get done...
  333.     First rotation, next scaling, next clipping.
  334.     So if you did "/cl100,100 /sc200,200 /rot90"
  335.     then DTA will first rotate the picture 90 degrees to the
  336.     right, then scale it to 200x200, and then clip off the
  337.     top half and left half of the scaled, rotated image.
  338.   o Expanded /R switch... in addition to preset resolution
  339.     numbers like "/R6", you could also set the resolution
  340.     explicitly like "/R640,480".  Just be careful that, if you're
  341.     creating a .FLC file *don't* pick an odd number for the
  342.     horizontal dimension: "/R149,200" is a no-no.
  343.     (That's not a limitation of the .FLC format, just of
  344.     my implementation.)
  345.   o Reworked the way scripts work (you know, like "@pics.scr").
  346.     Scripts can now include regular command-line switches
  347.     in addition to filenames.  Just make sure that you've got
  348.     a new file name or switch on each line of the script file.
  349.     You can even include the name of a new script file...
  350.     Just try to avoid recursive script files...
  351.     *Don't* put "@script1.scr" inside of SCRIPT1.SCR, and
  352.     *don't* put "@script1.scr" inside of SCRIPT2.SCR if SCRIPT2.SCR
  353.     is called by SCRIPT1.SCR.
  354.     Or DTA will go into an infinite loop and hang up.
  355.   o If you don't include an extension with an @filename, DTA
  356.     will add '.SCR' to the filename.
  357.   o Fixed some clipping bugs.
  358.   o DTA would sometimes crash with an out-of-heap-memory
  359.     runtime error when flipping a large upside-down TGA file.
  360.     Fixed.
  361.  Rel 2.0.7 (09/30/93)
  362.   o Scaling didn't work right when DTA was reading from a
  363.     flic (probably also when reading an upside-down
  364.     TGA and creating a GIF or TGA).
  365.     Fixed.
  366.  Rel 2.0.6 (09/27/93)
  367.   o Fixed some more bugs in compositing and chroma-key.
  368.  Rel 2.0.5 (09/12/93)
  369.   o Finally got rid of the protection fault that invariably
  370.     occurred after DTA finished building a .FLX file.
  371.  Rel 2.0.4 (09/01/93)
  372.   o Discovered a strange 'feature' in TGA files produced by
  373.     a program called Imagine.  Even though they are unmapped
  374.     24-bit images, for some reason they contain a color map.
  375.     Because DTA doesn't support colormapped TGA files, I
  376.     never paid any attention to color-map info... so DTA
  377.     just would ungraciously treat the color-map in such files
  378.     as if it were part of the image.
  379.     DTA still doesn't read colormapped TGA files, but now if
  380.     there's a color-map in an unmapped picture, it'll at
  381.     least bypass it correctly.
  382.  Rel 2.0.3 (08/25/93)
  383.   o Added inverse chroma-key (/CI).  Works the same as chroma-key
  384.     but backwards... only matching colors *won't* be made
  385.     transparent.
  386.   o Couldn't read .FLC files created with Autodesk Animator...
  387.     it got confused when it ran into the optional "prefix" and
  388.     "postage stamp" chunks.  Fixed.
  389.   o Had problems reading 16-bit TGA files... sometimes
  390.     resulting in page faults, sometimes in bad output.
  391.     Fixed.
  392.   o (There still seems to be a problem with .FLC files
  393.      created with DTA... some players choke on some flics.
  394.      And there's still that irritating page fault after it
  395.      finishes building a .FLX file... I'm working on 'em.)
  396.  Rel 2.0.2 (08/11/93)
  397.   o Multiple layers didn't work right with /NM (no remapping)...
  398.     only the bottom layer would show up in the final picture.
  399.     Now it works, including chroma-key.
  400.     Note: remember, all pictures in all layers must be colormapped,
  401.     and must share the same palette for /NM to work right.
  402.  Rel 2.0.1 (08/04/93)
  403.   o Fixed a bug in /CL (clipping).
  404.   o Fixed a bug in /CH (chroma-key).
  405.  Rel 2.0 (07/29/93)
  406.   o DTA can now read FLIC files.
  407.   o DTA can now read DIB/BMP files.
  408.   o DTA can now read Presidio .ANI files.
  409.   o DTA can read and write hicolor Tempra ".FLX" files.
  410.     Just specify /B16 (for 16-bit) on the command line to
  411.     build an FLX instead of an FLI or FLC.
  412.     (This feature seems to work well enough, but there are
  413.     still some bugs.
  414.     For some reason I haven't figured out yet, DTA crashes
  415.     with a General Protection fault whenever it builds a FLX file.
  416.     This only happens after it's finished building the animation.)
  417.   o Now including the FLISPEED program with the DTA package.
  418.     This'll change the speed value in the header of a flic
  419.     without requiring you to rebuild the animation.
  420.     Just type:
  421.       flispeed xxx.fli /s5
  422.     to change xxx.fli to a speed value of 5.
  423.   o Added multi-layer (use /L to separate layers) compositing.
  424.     Like this: DTA BACKGRND.TGA /L FORE*.TGA
  425.     If FORE*.TGA are 32-bit TGAs with alpha, then
  426.     DTA will make use of the transparency info.
  427.   o Added chroma-key (use /CHr,g,b to specify a transparent
  428.     color) ... this works okay, but not nearly as good as
  429.     starting with 32-bit TGA files containing transparency
  430.     info (which you can create in Polyray and, I'm told,
  431.     3D Studio).
  432.     You can use this feature to create 32-bit TGA files that
  433.     contain alpha information like this: DTA *.TGA /OT /B32 /CH255,0,0
  434.     (DMorf fans: DMorf will morph the alpha info along with the
  435.     color info... but DMorf can add alpha better than DTA can.)
  436.     Or, DTA BACKGRND.GIF /L FORE*.GIF /CH0,0,0 to composite a
  437.     over a background... DTA will make all black pixels transparent.
  438.       /CT specifies a tolerance for chroma-key.  If you (for example
  439.     specify "/CH0,255,0 /CT5" then all pictures in the range
  440.     <0,250,0> and <5,255,5> will become transparent.
  441.   o Added /REP# which repeats a single frame a specified number
  442.     of times.  Useful for inserting pauses in your flics.
  443.     For example, if you type
  444.       DTA before.tga /rep10 morf*.tga after.tga /rep10
  445.     before.tga and after.tga each get repeated ten times.
  446.     Note that this'll only create a pause if you have a speed
  447.     value greater than 0.
  448.   o Added /STx,y (start) ... instead of centering a picture
  449.     on the screen, you can tell DTA where to place the top-left
  450.     hand corner of an image on the screen.  You can have a separate
  451.     start value for each layer.
  452.   o Added /CLx1,y1,x2,y2 (clip)
  453.     X1 and Y1 specify the top-left corner of the clipping window,
  454.     and X2 and Y2 specify the size of the clipping window.
  455.     Clipping takes place AFTER scaling, if you use both.
  456.     You can have a separate clip for each layer.
  457.   o Got rid of /SX (scale X) and /SY (scale Y)... just use /SCx,y
  458.     for scaling.
  459.     You can have a separate scale value for each layer.
  460.   o No more real-mode executable.  DTA is just getting too darn
  461.     big.  Maybe I'll build a pared-down DTALITE or something
  462.     later on, if there's any demand.
  463.   o Fiddled with the status display some.
  464.   o Skipped 1.9... I think the amount of change justifies going
  465.     all the way to a new major release number.  Alexander
  466.     Enzmann requested flic-reading way back even before I
  467.     released 1.0 and here it is, finally.
  468.   o Probably some other stuff I've forgotten about.
  469.   o Fixed a bunch of bugs (and probably added some new ones
  470.     while putting in new features).
  471.  Rel 1.8g (01/18/93)
  472.   o Added comments to @files... just prefix comments with a ";".
  473.   o DTA now ignores blank lines in @files.
  474.   o Fixed assorted bugs.
  475.   o Added grayscale TIF output (/FI)
  476.   o Added /I option, which works like /K (skip), except instead
  477.     of specifying how many frames to skip, specify the total
  478.     number of frames you want in your flic.  So if you have
  479.     50 files... X000.TGA, X001.TGA, on up to X049.TGA, and
  480.     you type:
  481.      dta x*.tga /i10
  482.     then DTA will create a 10-frame flic from X000, X004, X009,
  483.      etc.
  484.  Rel 1.8f (12/30/92)
  485.   o Fixed some more bugs.
  486.   o Added support for 8-bit grayscale TGA files (type 3).
  487.     (To create one, use /B8 /FT).
  488.   o Added picture rescaling.  The /SC option, which only works
  489.     when you're creating flics, rescales an image so it's the same
  490.     size as the screen resolution.
  491.     The /SW option rescales an image so it's the same width as the
  492.     screen resolution (or, if you enter a number, like /SW100,
  493.     to the width that you specify... if you use /SW for an output
  494.     format other than a flic, then a specified width is required)
  495.     The /SD option rescales an image so it's the same depth as the
  496.     screen resolution (or, if you enter a number, like /SD100,
  497.     to the depth that you specify... if you use /SD with an output
  498.     format other than a flic, then a specified width is required)
  499.  Rel 1.8e (12/17/92)
  500.   o For some reason the /NM option didn't work anymore.  Fixed.
  501.   o Fixed a bug in FLC compression... it caused the wrong pixels
  502.     to be updated when there was a change in a pixel row after a
  503.     run of more than 254 unchanged pixels.
  504.   o Fixed a bug that caused a page-fault (runtime error 216)
  505.     when creating GIF or TGA files in the protected mode
  506.     version.
  507.   o There used to be a limit on the width of pictures that DTA
  508.     could process... if you made it read a picture wider than
  509.     1280 pixels, you'd either get a spectacular crash requiring
  510.     a reboot (real mode) or an error message (protected mode).
  511.     Now it should be able to process pictures with a width up
  512.     to 16K pixels or so without crashing.
  513.  Rel 1.8d (11/30/92)
  514.   o Fixed one bug, which prevented DTA from creating 1-frame
  515.     flics correctly.
  516.   o Including two versions of DTA... DTA.EXE (real mode) and
  517.     DTAX.EXE (protected mode).  The memory management stuff
  518.     that I included in 1.8b and 1.8c is now separated into
  519.     another archive, DTAMEM.ZIP.
  520.     The real-mode version runs faster than the protected-mode
  521.     version, but only gives you access to 640K of memory.
  522.  Rel 1.8c (11/27/92)
  523.   o Whoops, introduced some new bugs in 1.8b.  Got ZIP, LZH, and
  524.     ARJ working fine, but it wouldn't read pictures outside of
  525.     archives anymore.
  526.  Rel 1.8b (11/27/92)
  527.   o Fixed a bug that caused a runtime error 204 whenever a frame
  528.     couldn't be compressed and had to be stored raw.
  529.   o Flics of resolutions other than 320x200 are now saved with the
  530.     extension 'FLC' instead of 'FLI'... to be consistent with
  531.     conventions established by Autodesk's Animator Pro.
  532.   o This is the first version of DTA to be compiled in 286 protected
  533.     mode.  This means that DTA can access up to 16MB of extended
  534.     memory without all that messy EMS/XMS/virtual memory management.
  535.     It also means DTA doesn't recognize EMS or page to disk any more.
  536.     If you require EMS or virtual memory, stick with the original
  537.     version 1.8.
  538.     Two extra files (DPMI16BI.OVL and RTM.EXE) are distributed
  539.     along with DTA to support protected mode.  You must keep these
  540.     files either in the same directory as DTA, or in the DOS path.
  541.     When DTA is run from inside a Microsoft Windows enhanced-mode
  542.     DOS window, it'll use Windows' DPMI services instead of the
  543.     Borland DPMI server.
  544.   o MAYBE fixed a bug in FLC compression.
  545.   o DTA can read pictures stored in ZIP and ARJ archives as well
  546.     as the previously supported LZH archives ... IF you've got the
  547.     appropriate de-archiver (PKUNZIP.EXE, ARJ.EXE, LHA.EXE) in your
  548.     DOS path.
  549.  
  550.  Rel 1.8 (11/08/92)
  551.   o DTA couldn't locate PCX, IMG, or GIF files in LZH archives... fixed.
  552.   o DTA can now read 24-bit PCX files (as well as the previously
  553.     supported 8-bit type).
  554.   o Added some additional error-checking so DTA will stop with an error
  555.     message if it runs out of disk space while creating output files.
  556.     Previously it just kept on trying to write to a full disk.
  557.   o In a previous version, made some changes in the GIF-writing
  558.     code to speed it up and use less memory.  As a result, upside-
  559.     down TGAs weren't getting flipped rightside-up like they're
  560.     supposed to... fixed.
  561.   o Removed some useless experimental options: /L, /E, /O
  562.     If anybody ever actually found a use for any of these, let me know
  563.     and I'll put 'em back.
  564.   o Removed /W, since it was only added as a workaround to a bug that's
  565.     now finally fixed.
  566.   o Added GIF89a input. (extension blocks are IGNORED)
  567.   o Fiddled with output-file parameters.  You now specify the output
  568.     filename with /O, and the format with /F instead of specifying
  569.     both with /F
  570.   o Added /H, which lets you adjust brightness.  /HA50 increases the
  571.     values of red, green, and blue by 50%.  /HR200 /HG-25 increases the
  572.     value of red by 200%, and decreases green by 25%.
  573.   o Added /C, which lets you skip frames when scanning for a palette.
  574.     If you use /C5, then DTA will only scan 1 picture for every 5
  575.     in your animation.
  576.   o Added /K, which lets you skip input files when generating a
  577.     flic.  If you use /K3, DTA will ignore 2 frames out of every 3.
  578.     If you use both /K2 and /C2, then DTA will skip every other
  579.     picture, and create a palette out using only 1 of every 4
  580.     pictures.
  581.   o Fiddled with the time blurb so it writes in minutes and seconds
  582.     instead of milliseconds.
  583.  
  584.  Rel 1.7g (08/27/92)
  585.   o Fixed a rarely-encountered bug in 320x200 FLI compression.
  586.   o Reworked the documentation (actually, Dan Farmer did most all of
  587.     this task).
  588.  
  589.  Rel 1.7f (07/19/92)
  590.   o Fixed some weird bugs in selecting output filenames for GIF files.
  591.   o Added /PO option, which causes DTA to create a single optimal
  592.     palette even when it's creating GIF files.
  593.  
  594.  Rel 1.7e (07/02/92)
  595.   o Removed all the logging code, since the memory allocation
  596.     problems seem to be licked.
  597.   o First attempt at creating hi-color and true-color FLIs.
  598.     (To create a hi-color FLI, use the /b16 parameter.  The
  599.      resulting file with have an extension of FLH.  To create
  600.      a true-color FLI, use /b24.  The resulting file will have
  601.      an extension of FLT.)
  602.     So far there's no player that will display these new files,
  603.     but Steve Enns is working on one.
  604.   o The color-mapping speedups in the previous version resulted
  605.     in bad color choices in some cases.  Added an extra
  606.     step between palette selection and color-mapping that
  607.     should improve it.
  608.   o Added /RA parameter (auto-resolution)... tells DTA to use
  609.     the size of the first picture to decide how big to make
  610.     an FLI.  Note: use this parameter only with pictures with
  611.     even horizontal dimensions.
  612.   o When DTA used XMS to store pictures, it wasn't always clearing
  613.     the picture buffer when it was supposed to... resulting in
  614.     some background garbage when animating pictures smaller than
  615.     the FLI.
  616.   o Added /DR (random dither) parameter.  Adds/or subtracts a
  617.     random value from each pixel.  Random values are the same
  618.     across frames, so FLIs shouldn't explode in size like they
  619.     sometimes do with error-diffusion dithers like Floyd-Steinberg
  620.     and Sierra Lite.
  621.     Specify the range of the random number by appending a number
  622.     to the /DR parameter, like this:
  623.      dta *.tga /dr4
  624.     That will result in random numbers ranging from -4 to 4.
  625.     Note: I stole the idea from Stephen Coy's IMG2GIF program.
  626.   o Got rid of /M parameter, which affected the order of
  627.     color-tree pruning.  It was a failed experiments in
  628.     improving color-selection.
  629.   o Changed /MI (max internal colors) parameter to /M
  630.   o Changed RLE TGA output so that line boundaries aren't
  631.     crossed within a packet... (to avoid a VPIC bug)
  632.  
  633.  Rel 1.7d (04/25/92)
  634.   o Fixed some more memory allocation problems.
  635.   o Speeded up color-mapping.  When dithering, there should
  636.     be a big speed increase.  When not dithering there should
  637.     be a lesser increase.
  638.   o Added Sierra Lite dithering (/DS parameter).  SL dither
  639.     another error-diffusion-type dither, somewhat quicker
  640.     than Floyd-Steinberg.
  641.  
  642.  Rel 1.7c (04/15/92)
  643.   o Fixed a bug in grayscale output.
  644.   o Reduced the amount of memory required for the color tree.
  645.   o Fixed some other memory-related problems.
  646.   o Got rid of V (verbose), and added /LOG (which causes
  647.     assorted memory allocation info and other boring
  648.     debugging-type data to be written to a file called "DTA.LOG".
  649.   o Added /MI parameter (which means "maximum internal colors").
  650.     The octree color routine allows only 256 colors to exist
  651.     in the tree at any time.  Whenever the number of colors
  652.     exceeds 256, parts of the tree get truncated.
  653.     With /MI, you can change that maximum number of colors
  654.     to something other than 256.
  655.     If you change it to a number larger than 256, then the palette
  656.     will not be reduced to 256 colors until DTA is done scanning
  657.     pictures.
  658.     This can result in a nicer palette, but it uses more
  659.     memory.  I've had some nice results using "/mi2048".
  660.  
  661.  Rel 1.7b (04/01/92)
  662.   o Rel. 1.7 was missing a last-minute .FLI bug fix and
  663.     a document update or two.
  664.  
  665.  Rel 1.7 (03/31/92)
  666.   o Reads 256-color PCX files.
  667.   o Reads and writes 16, 24, and 32-bit TGA files, compressed
  668.     or uncompressed.
  669.     The default is compressed TGA-24.  /B16 selects 16-bit,
  670.     /B32 selects 32-bit.  /NC selects no rle compression.
  671.     Dithering works for TGA-16 files... But if you use ordered
  672.     dithering, DTA ignores any 'strength' value and uses a
  673.     default (because TGA-16 color reduction is regular).
  674.   o When scanning for a palette, it's a lot faster than before
  675.     when reading 256-color pictures.
  676.   o Fixed EMS bugs.  Added support for XMS.
  677.   o Added /332 (3/3/2 palette) option
  678.     (If you use ordered dithering, DTA ignores any supplies
  679.     'strength' value and uses a default).
  680.   o Added /NM (no-remapping) option.  When reading 8-bit
  681.     colormapped files, this tells DTA to use the original
  682.     palette that's included in the file instead of creating
  683.     a new palette from the colors in the picture, and to skip
  684.     re-mapping the picture to the palette.
  685.     If you're creating an .FLI from a bunch of .GIFs or .PCXs,
  686.     then DTA will use the palette from the first input file,
  687.     and it will assume that all of the pictures use the same
  688.     palette.  This will result in slightly better-looking output,
  689.     and DTA will generate the .FLI *MUCH* faster.
  690.     If these files do not use the same palette, then do not
  691.     use this option.
  692.     /NM does not work with any sort of dithering, frame-averaging,
  693.     or anything else that requires fiddling with colors.
  694.     If you're converting .PCX to .GIF, then the single palette
  695.     restriction does not apply...
  696.  
  697.  Rel 1.6 (01/25/92)
  698.   o Can write uncompressed Targa-16 files (use the /B16 switch).
  699.   o Can read compressed and uncompressed Targa-16 files (like
  700.     those you can produce with POLYRAY).
  701.   o Added /M option, which causes the palette tree-reduction
  702.     routine to prune the most popular branches instead of
  703.     least popular.  The resulting palette should be biased
  704.     a bit more toward detail in a picture instead of smoothly
  705.     shaded areas.
  706.   o Added /L option, which allows you to set the initial
  707.     (pre-reduction, that is) color resolution for one or
  708.     more of the color components (r,g,b) to something other
  709.     than the default 6 bits.  It doesn't make sense to set
  710.     it higher than 6 bits, since that's the most VGA can display.
  711.     But you could, for example, tell DTA to use fewer bits for
  712.     green and blue so that the reds get more representation,
  713.     like so:
  714.      dta *.tga /lb2 /lg3
  715.     (that sets the blue resolution to 2 bits and the green
  716.     resolution to 3 bits).
  717.   o When averaging pictures, DTA used to use an equal percentage
  718.     of each of the original pictures.  That's still the default,
  719.     but with the /E option, you can change this.  /E lets you
  720.     specify two numbers: (a) the amount of weight to give the
  721.     first picture, and (b) how much to increment that weight
  722.     for each successive picture.  So, assuming you start with
  723.     three TGA files, if you use this command:
  724.      dta *.tga /a5 /e2;1 /fg
  725.     the first frame will get a weight of 2, the second will get
  726.     3, and the third will get 4.  Which means the resulting
  727.     GIF file will be made up 22% from the first picture, 33%
  728.     from the second, 44% from the third.
  729.     This can be used with /t (trail) as well as /a (average).
  730.     The increment number can be negative... if you want
  731.     the first picture to stand out more than the others.
  732.     The default for the initial weight is 1.  The default
  733.     for the increment is 0.  If you use /e without specifying
  734.     an increment, then the increment is set to 1.
  735.     If you don't specify either number, then both numbers are
  736.     set to 1.
  737.   o Fixed a bug in averaging GIF files.
  738.   o When creating a new TGA file, DTA forgot to use the resolution
  739.     of the input file like it does with GIF files.  Fixed.
  740.   o Can now ignore comments in TGA files properly.
  741.   o When creating GIF files, DTA now saves at the same
  742.     time it performs the mapping step, instead of saving to
  743.     a buffer and saving it at the end.
  744.     For pictures that would require virtual memory (bigger
  745.     than 320x200), this'll save some time.
  746.   o Added 640x400 resolution for low-end SVGA.
  747.  
  748.  Rel 1.5f (12/13/91)
  749.   o DTA can now read IMG files created by the Stephen Coy's
  750.     Vivid raytracer.
  751.   o Speeded up some input functions that were slowed down
  752.     because of some recently added features.
  753.   o Another probably unsuccessful attempt to fix the same bug
  754.     that 1.5d was supposed to fix.
  755.   o Fixed a bug in dithering (sometimes DTA wouldn't dither
  756.     the whole picture).
  757.   o DTA wasn't deleting a temporary file that it sometimes
  758.     creates.  Now it does.
  759.  
  760.  Rel 1.5e (11/24/91)
  761.   o DTA can now read GIF files as well as TGAs.  GIF87 only,
  762.     no interlacing allowed.
  763.   o Added a /V (verbose) command line option.  If you
  764.     specify this, DTA will tell you exactly how many
  765.     bytes each frame in an animation take up.
  766.   o Added the /W option, which forces DTA to use the
  767.     SVGA-type compression method, even if generating
  768.     a 320x200 .FLI.
  769.   o By the way the fix in 1.5d didn't help.  However, the
  770.     problem is pretty rare.  Maybe next time.
  771.  Rel 1.5d (11/18/91)
  772.   o Hopefully fixed a bug that caused problems with Trilobyte's
  773.     PLAY program.
  774.  Rel 1.5c (11/11/91)
  775.   o Attempting to support 800x600, 1024x768, and 1280x1024
  776.     SVGA resolutions.  Note: This is completely untested.
  777.     I haven't the foggiest idea if it works or not.
  778.  Rel 1.5b (11/09/91)
  779.   o Added "expansion" feature, which inserts averaged frames
  780.     between regular frames.
  781.   o Fixed some bugs in some weird combinations of 3d, "pingpong",
  782.     and "trail".
  783.  
  784.  Rel 1.5 (11/05/91)
  785.   o Ordered dithering
  786.   o VGA "mode x" .FLI resolutions
  787.   o fixed a bug in 320x200 delta encoding
  788.     which would sometimes cause animations to crash
  789.   o "averaging" and "trailing" (where individual frames are
  790.     created by averaging the colors across multiple input
  791.     files).  The difference between "averaging" and "trailing" is:
  792.      If you run an "average" of 2 on 10 .TGAs, frame 1 will be
  793.     an average of files 1 and 2, frame 2 an average of files 3
  794.     and 4, and so on.
  795.      If you do a "trail" of 2 on 10 .TGAs,
  796.     then frame 1 will be an average of 1 and 2, frame 2 an average
  797.     of files 2 and 3, frame 3 an average of files 3 and 4, and
  798.     so on.
  799.   o Red/blue-type 3d
  800.   o TGA output (pretty useless unless you're also averaging
  801.     input files or creating 3d images).  DTA does not compress
  802.     TGAs just yet.
  803.   o Removed .PCX output option.
  804.  
  805.  Rel 1.4 TEST 2 (10/12/91)
  806.   o DTA can now read compressed .TGAs.
  807.   o DTA can new create .GIFs or .PCXs.
  808.   o Before 1.4, DTA would give up on compressing a frame if the
  809.     compressed version required more than about 64K to store.
  810.     This was fine for 320x200 animations, where an uncompressed
  811.     frame only requires 64K anyway, but it left something to
  812.     be desired for 640x480 animations, where an uncompressed
  813.     frame takes up about 300K.
  814.     Now, 640x480 frames will be compressed unless the compressed
  815.     version takes up more than about 300K.
  816.  Rel 1.3c (09/14/31) (second bug fix)
  817.   o .MAP files were missing carriage returns between
  818.     lines.
  819.  Rel 1.3b (09/13/31) (bugfix release)
  820.   o Fixed bugs from the disastrous Rel. 1.3
  821.     (including 640x480 .FLIs)
  822.   o Big speed increase in palette creation
  823.  
  824.  Rel 1.3 (09/03/91)
  825.   o 640x480 .FLIs
  826.   o Better .FLI compression.
  827.   o In pre-1.3, the animation was stored in a temporary file,
  828.     then at the end a new file was created with the .FLI header,
  829.     and then the temporary file was copied onto the end of that.
  830.     Now, only one file is used to store the animation, and the
  831.     header gets modified at the end of the process.
  832.   o Frame #1 is now stored in a temporary file so that it doesn't
  833.     need to be recreated for the "ring frame".
  834.   o Added /G32 option for creating 32-level grayscale animations
  835.     for laptops.
  836.   o Fixed some bugs.
  837.  
  838.  Rel 1.2 (08/06/91)
  839.   o Added support for exit codes returned by LHA 2.13...
  840.     If LHA returns a non-zero exit code, DTA will abort.
  841.   o If you hit the escape key while DTA is running,
  842.     DTA will abort as soon as it's done processing
  843.     an input file.
  844.   o Changed the way input files are sorted.
  845.   o Added /p (pingpong) option.  (makes animation go in
  846.     0-1-2-3-4-3-2-1-0 order instead of 0-1-2-3-4-0).
  847.   o Added support for lists of files to process.
  848.     Tell DTA that a file is a list by preceding the filename
  849.     by an "@" character.  A list file may contain
  850.     the names of .TGA files or .LZH files.  You can't put
  851.     the name of another list file in a list file.
  852.   o Will now clip .TGA files with a resolution greater than
  853.     320x200 instead of choking on them.
  854.   o Added /O (sort order) option.  When DTA has to sort filenames,
  855.     like when you use a wildcards or when you just give the name
  856.     of an .LZH file, "/O+" (the default) will tell DTA to sort
  857.     in ascending order, "/O-" in descending order.
  858.     This option is positional... it will only affect files
  859.     specified AFTER the option on the DTA command line.
  860.     You can use this more than once on a DTA command line.
  861.  
  862.  Rel 1.1 (07/15/91)
  863.   o Can now extract .TGA files from inside of .LZH files.
  864.     (by shelling to LHA.EXE)  Takes longer, but can save plenty
  865.     of disk space.
  866.   o Added /s (to specify playing speed).
  867.   o Doesn't choke on truncated .TGA files any more.
  868.   o Rewrote some I/O routines so scanning palettes is quicker.
  869.